@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu  } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u$8MiàL{$…ȱ…ťiÈԑL{$…ȱ…ťiåՑĈԑL{$ȱňĥԑĥ8ê7-$8-T}$Lt…ȱ…ťiÈąԄL{$…ȱ…ťiñąՈąL{$eȱeL$ȱňĥԑĥȑĈLp$ԅԄL{$ԪȱԈU}ՆL{$i‘ȱ‘L$…ȱ…L$iԑȑL{$ԱԊȦձՊL{$iȱª¨„ iiȑV}ÈL{$q…q…ȱÍ%8L{$±ŠȦñÊL{$ªȱ…ƈL{$ L%L$ ȥW}Lp)LZ)q…q…L$&L{$&ձeԅȱeՅՈLp$8ԅȱՅՈLp$ԅՅȱ ,ԥLp$ &L_& &ԥLpX}$ȱդLs,ԅȱՅՈLp$EԅȱEՅՈLp$%ԅȱ%ՅՈLp$ȱJfՈLp$ȱLp$ȱY}*ՈLp$ԱLp$8ԅԩՅL{$EԅԩEՅL{$L{$L{$8Ԫȱ`ȱLp$ȱԄLZ}p$ F'0 F'0 F'0ʊ F'0ȱՐɱԐȱՐзԐЭȱՐЎԐLa'ȱՐ԰Lv'…Ԅ[}L{$ԄL{$i‘ȩL{$…ȱ…ťiÈią ȱiąՈL{$ȱĈL{$…ȱ…ťiñąՈ\}ąiȱiĈL{$…ȱ…ťi8ą԰ ȱąՈL{$ȱąՈL{$…ȱ…ťiñąՈą8ĐL{$ȱĈL{$]}rkLV)N[LV)…ȱ…8ԈĥBLV)…ȱ…8ԈĪ0(Lj)8¥ԥiàL{$Ԅ^}ՠªȱ…Æ L{$8ª0ƊLj)˥ԈLj)ФԈLV)q…ԥq…L$…ȱ…ťiåqąԥ_}qąՈL{$eȱeťiåiđđL{$eȱeťiL9(eȱeťiLo(eȱe`}ťiL(eȱeťiL(eȱeťiőđL$eȱeňeԅȱeՅL$eȱea}ťiñ‘ąՈ‘ąL$eȱeűąՈąL$eȱeňąԄL$ ԄL{$L{$lȱňb}88必ƥDZ…ȱ…ťi V+ԆL%eԅԐL{$e…ȱ…ňiȱiĠªȱ…Æ L{c}$eȱeL+…ȱ…ťiÈ8ȱ0Lj)iàL{$eȱeťiL,&&& Lm,d} `ɀE ɀf8ਊ D,$ 8$P 8`E0 IIe}L,8L-Ff eeFfff$ 8`Y+$$$&$B$b$$$%%'%3%%K%b%f}%%%% &&'&9&K&l&r&&&&&&'#'2';'S'h'}''''''''%%([(((J)))))))&*B*^*z****+())+)+6+L+-.'((g}++%#&+(,++…ȱ…ťi -L{$l8…iƥiȱ(.ȱ). tԆՠiL{$ƝEƝDBh}I VL6($` v6L@. v6B0ƝKƝDȱƝEL?FL3ʱƪȱƨ ؠ0.)ȩ.ȩ0ȩLi}2ȱ)L.ƅƅƅ͈ƅ̄ L/ƙșʙ`̈` . L/ . (L/ . fL/ . `L/ ~6șj} ޠʈ`) 4Ԇՠƅȱƅ ٥΅LP/ . ަʤ L/ ~6ș LP/ƅɈƅȠș ٥Ԧ`S:k}ƅȢ`BƅDž B VBō/ȝK)IJL6``L=LX4Lc1L87L?LQ7L>L5LS?Ln.L6L4L6L 7LS6LM6L1Lf6L>.Lf.L4L`>L3?l}LC?L7L7L7L7L9L7L/L%/L./L7/L@/L/L/L<9LA9Lr5L/L[/L/L.L4L/L/L85Lj4L4L4L4L?L?L?LK9L]9Lr9Lg9L9LT5L/L=LW=Lm},Ls,L>>L6L6L6L-6L96L?5L7L8L>8LS8L{8L8L8L8L8L8L8L=L8L8L8L9L/L/L/LE9L9L9L9L:L:L:LK9LU4LP4L1=L;L;n}L04L;L%=LP4LP4LP4LP4LP4LP4LP4L5LK5 ~6 80`` v62F 2G2 22ƅȱƅL1҅Ɉƅȩ 2o}<22Ȅʩ=΅ϩ======% 2=L1 2=L1`(L<ȱ% 6?N=N-=L2.=p}L2AL2ȱ: 0蝀懲詛= ٭= ԅά==L2ԅϬ=L2=UD L\3ȱL2ȱ=Iq}ՈIiL2Ոƅ ح=+0=Ȍ==έ=ΐ 2 3L3 3Υ 2L 3= - 2Π0r}. 2=L,3)L2=`XL3Ȍ=ƅՈƅԥ=H)JJJJi0:i 2h)i0:i 2= =L{3=s}L1C ʱ 2L3SL.ʱƅȱƅŭ= 4L3===ΰ 2 4L4 4=ΰ 2L3 2t}`ƠƠƠ ; ȊLr5``LP4 ~6L?7ƅVȱƅTƅU` j4 qHqƪh`L`6 f6H `6h` <`* <`L6 `ƅˈƅʈƅɈƅ` v6ƝBy} EƝD IƝH ƝJ ƝK V Ii`` v6LS6BHIL6ȱ G17Fz}070717() t䦾L6 ~6ձʑ `ƙȄͦʥ``ƅɈƅȢ`ƅȱƅ̠{}ƅȱȪ̑Ȋ` 7HȱȪh` ~6ȅȱȅͥˑȥʈȦͥ`ƅƅ إԅ) ٥0Ԧ`IIi` v6ƙNȩ̽L|}ʈM` v6ƝLȱƝMȱƝN%BL6 6 H 6h`L6 7ƈL 7HpƝDȱƝEhBL6#$ ީ!8}}8`8 282ƅȱƅL180H1h`eHȱeǪh`0`` ` 96iȥi 96Ȇ ~}ȅɅL8`Т   ```````/ =/B`=/B` 9 BL6 9B V()`` v6}ƝIƝHƝEƝD` ~6 ``` ƪТ`ƪƨ0 =Т` ƪ Т`ƪƨ0} = Т` !:` !:`ƪ q`ƅȱƅȄ`̽ɛ ,`̽ɛ ,` :hhL6}̮֩2:HIDEB V8``ʅ͍2:ȩɱ v62:ƅɈƅȄ {:ʱ` 6?% L6 }H _:hD$̅ 3:ԑȥՑ D:L:F$̅ 3:ԑΈ D:L:S%̅ D: 3:̪ʊ8ĨȩΈʈL}:CL: 3:̽ D:L:HHƠƠƠȩQȩ=hhƠL88=ƍ;ȭ=ƍ;ǐ ;=;=``m==ȱm}==`L@%dL== iȥ iɠ H |=h } `lƅɈƅ i!ʥ i˱ɛȩ`=ƅɈƅȱȥȦ >" < D :}=L > D :="=1©> 8==@@L{$@";>>>B"/ =@l ~6Π 6?} :< =  0 >ș..Ȅ̤αʤ̑`D1: ~6̄ͱ}ʅαͥ``ȱܱƅɈƅȢ`{a `A[i L@?@i`}ƝDȱƝEBȱƆ 6?ARWUD`   JK V0JJJJ`L6ƨx`ƨТ`ȭ Ȑ} Ң`Ġà B;@AAŁ@ Aρ@ ʁ@  AAہ@ށ@}Aԁ@AAс@01A3@26@754A<@=?>A:;A9@8(@)+*A./A-}@,$%A'@&"@#! A`aAc@bf@gedAl@monAjkAi@hx@y{zA~A}}@|tuAw@vr@sqpAP@QSRAVWAU@T\]A_@^Z@[YXAHIAK@JN}@OMLAD@EGFABCAA@@?J00B W]@ # 1@ 3p UMWM p AMq q CM > pK -d}0 /0/. OM010B&BK00H0B$BH0B30I$vB160fB0$BUM0&B-UM} SM$CYK00-*0 -0sK0030B0Y CSMC SM3- 01K?01r0 fPCK0100$gB}/Q0/Q0/Q0/Q00K0dQ0K0/Q0CK00!0$gBpC!0$gB} '' C$C'C3', $C 55>, 5K0 77>, 7 99}>, 95Q0K0  Q0p&D3K?03w0 !fD0K!030030$gB!}0K0K300SM&D0p\gB$D$gB\E\E$$EKJ ?M@J&E?M$E$E\,E$PEKJ ?M@J&E?}M_$3E$E\XE$EKJHfkE$EcI ?M@J&E?M_$kE$E\E\E\E$EL000$gB\E$E&LJ9G$E$E}/L00$E$EHN07J&CGL300$C Y] ppPFRFppP&Fpp:F^p -Fp p$:Fp>. pph}UF p>. p p pF$iFYF IMfxF$FY]pIM $dFF@ >p.. p GMp EM}<, p`pEM: EM< IMGMEM.. GMEM. EMGMhGIM`pEM>6 IMEM EMGM. GMpp IMpW]pGM:EM>6 IM}  QM YGfLQM 000$ p pp>. pqu0 QMQMhG$GbQM$GppQMQM $G pE KM %KMG} %_e] )E QM@P&HQM Hqu0 p pE QM@H& HL00$HQM MMQMpR&)H`)% KM QMQMhLH`})ppQM qQM QM$)H`)ppQM % b)_)le]oH$[Hp QMpHqQMKMppQM% QM pMM KM$G N0 +}/X&H/+/.!0!!0 c 9M>, =M=MLH=MP&IL00@ CMAM,@ ''=M`I$-I'}IAM'>,CM'>,$(I ''hI$uI$gI^9MhI ;M@H&I@ 9M;M:&ICM'$I}AM' '$gI;M< ;M:&ICM'$IAM' '$gI'@ ''I@ ' L00160fJ1L?0!0}!01d0 hJ|/0!0qJMr000 ''L&J$J'$ '$vJ/p' $J/}0M95.00 }ARCX 1.2 Implemented by Ralph Walden using Lightspeed C Development SystemD1:}򠢮â"+" for directory, RETURN to exit.>Enter destination drive #Screen off for speed?ARCError %d openin}g %sNot an .ARC file! Error %d writing to %sPress key... %sCan't dearc old style} crunched!Unknown compression!Ǻ%sà롛%dɠ} %d䠮à塛File has an invalid decode treeҠARCError %d reading dir}ectory %sExpanding %u bytes...ƑEii@e惥Qȱ懥ɼ`8初H剝I BE}DLVɐ`L8 ƍ ` L `ƗƏƎŕMŔEDE}HIB V}H}I `擢`0}IB V}H}I `擢`01 REM BINHEX 1.0, OCTOBER 1984 2 REM -- BY DAN FLEYSHER -- 3 REM (FLEYSHER.WBST@XEROX) 4 REM THIS BASIC PROGRAM CONVERTS A 5 }REM BINARY DISK FILE TO THE EQUIV- 6 REM VALENT TEXT FILE CONTAINING 7 REM HEXIDECIMAL CHARACTERS. THIS 8 REM FILE IS SUITAB }LE FOR LONG 9 REM DISTANCE (MODEM) TRANSMISSION, 10 REM AND CONTAINS A FULL CHECKSUM. 11 REM A COMPANION PROGRAM, HEXBIN, 12 }REM CONVERTS THE HEX FILE BACK TO 13 REM THE ORIGINAL BINARY FORMAT. 14 REM 20 DIM FILEIN$(15),FILEOUT$(15),BYTE$(2) 30 BUFS }IZ=37:DIM BUF$(BUFSIZ),HEX$(16) 40 HEX$="0123456789ABCDEF" 50 ? "} BINHEX 1.0":? :? 60 TRAP 60:? "INPUT FILENAME }";:INPUT FILEOUT$ 70 GOSUB 1000:FILEIN$=FILEOUT$:? 80 TRAP 80:? "OUTPUT FILENAME";:INPUT FILEOUT$ 90 IF FILEOUT$<>"" THEN 11 }0 100 FILEOUT$="D:HEXFILE.TXT":? " ";FILEOUT$:GOTO 120 110 GOSUB 1000:? 120 TRAP 40000:SUM=0 130 OPEN #4,4,0, }FILEIN$:OPEN #5,8,0,FILEOUT$ 140 PRINT #5:PRINT #5;".START." 150 BUF$="" 160 TRAP 300:FOR I=1 TO INT(BUFSIZ/2) 170 GET #4,BYT }E:SUM=SUM+BYTE 180 NIBBLE=INT(BYTE/16) 190 INDEX=1+NIBBLE 200 BYTE$(1)=HEX$(INDEX,INDEX) 210 INDEX=1+BYTE-(16*NIBBLE) 220 BYT }E$(2)=HEX$(INDEX,INDEX) 230 BUF$(LEN(BUF$)+1)=BYTE$ 240 NEXT I:TRAP 40000 250 ? BUF$:PRINT #5;BUF$:GOTO 150 300 ? BUF$:PRINT }#5;BUF$:POP 310 ? "CHECK SUM = ";SUM 320 PRINT #5;".STOP.";SUM 330 CLOSE #4:CLOSE #5 340 END 1000 IF LEN(FILEOUT$)<3 THEN G }OTO 1040 1010 IF FILEOUT$(1,2)="D:" THEN RETURN 1020 IF LEN(FILEOUT$)<4 THEN GOTO 1040 1030 IF FILEOUT$(1,1)="D" AND FILEOUT }$(3,3)=":" THEN RETURN 1040 BUF$=FILEOUT$:FILEOUT$="D:":FILEOUT$(3)=BUF$:RETURN 1040 1030 IF FILEOUT$(1,1)="D" AND FILEOUT RA@M}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@}P!( L(1   Y I`  d  Ld M * @  $ % C}C$$)ǥ%1 Udߥ$9%: !0 S$% DD˙`  }J})Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%}} DD˙`  }J)Lr J  ((  p L (})   J}NjL= ( L 0q A    IB JC};? D W } LL  ` W )LA!  }߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL}# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL })W>Z   HH)H }p h  hyhy D L> L JJ }   ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"!} GFE@F (!L }EE !E^ ^ E E7}EȩEdE/EȩE  D } .L }  ;F d  ;?F7F?} ( .   Z D LL d } . D  L    p  E` , d})  D L) 0BM݊L݉} ML  N݆ L NL}ML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTOR}S G) *Gȩ GȽG GȌ*jj >G}Ǡ C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK},.COMLu L}1 L ;LHL1  T`  `1  ɐ     `TU  } L} ? .  t`GBJ ~DEHI B V0dV!}Q}DEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}Ǣ}DEL8HI4 0 HI,0 0  9 .G VLO#}},0 L4*IJ`llD:CRUNCHER.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI}$}G V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEH}I%}% VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISK}TYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ}  -'}ǔLLu ÝDEHILV 9 .l 9 .l  `` s$}B BH(}rI|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝL}" -}Yeah! At last! Ladies and gentelmen, World Federation of Mad Hackers proudly presents: THE CRUNCHER v5.0 - t}he first sequence*}-bit packer for Atari 8-bit.Don't forget that this is the shareware program. If you use it, please sen}d $5 (or $10 to get a+}3 new version - when it will appear of course) to:L ^Zenon Mikolajczyky Marc,} ina 37/15$ 471}-544 SzczecinS [POLAND` Well... don't save your money-} this time! If you've any questions, notes, you've found a }bug, you've got an idea to improve this program or you just .}Nneed a little help with using it - feel free to contact me a}t address above.S The following document is a standard ATASC/}qII text file without any control characters, therefore it} can be printed with any text-editor on every printer.v Forget 0}Hand forgive me all fatal bugs in my English, I know it} isn't the best!!!LLQ `INTRODUCTION.e Though Atari 8-bit is ra1}ther old computer and it's present around for about ten} years, there's still very little quantity of packers for this machine2}. I saw about 15 packers for Commodore 64 (which is} even "younger" than Atari) and exactly ONE for our 8-bitter. Yes, I know 3}that some people pack their own files and/or sp}read the packing routines, but...first: those are pointer crunchers, second: o4}nly assembler freaks can use them. I person}ally also made a pointer packer known as "The Cruncher v2.69" and anyone could use5}O it. But since pointer-crunching has p}oor results it still wasn't good enough.T Now, after an year of research I'd like t6}Go present you my new masterpiece - "}The Cruncher v5.0". It is the pointer-sequence-bit packer that really shrinks files and g7}7ains thousands of bytes. Of co}urse crunching process takes much longer time than in previous version, but I think it's worth 8}to wait ten minutes longer} and to have file 30% (average data) shorter. One more thing: "The Cruncher v5.0" can pack DOS file9} s only. 4Here come}s the brief instruction...9 SHOW TO USE THIS PROGRAM?X Yeah! It's really simple. The importa:}3nt note is that crunch}ing proceeds in two phases.8 TThe first phase - packing:Y Boot the master-disk without the BAS;}IC. After few moments }the title page appears in the front of you. Press START key and insert a disk with your programs. Press<} SPACE BAR to read} a directory, then point a file to crunch by using the cursor keys (no need to hold CONTROL). Press RETURN =}"and wait till} the file is loaded.' It can happen that file starts automatically and it's because the file start address l>}oads into $}2E2 (738 dec) and not into $2E0 (736 dec). You can repair it by changing the last six bytes of file. If you're lam?}1er and} you don't know how to do it... I'm sorry.6 If everything is ok, remove your disk, insert the master-disk into the @}driv}e (warning: the master-disk must be unprotected all the time) and press SPACE BAR. After few moments you'll be asked for A}} STEP, which is between 1 and 7.% There's no time and place to explain what does STEP mean, but general way of using it is}B}: the longer program you gonna crunch - the smaller STEP should be selected. So, make your decision and wait till the fir}st C}Ipass is finished. It's a pointer pass, so it takes only about 5 seconds.N In case the program after this pass is lo}nger tD}ehan $C400 bytes, crunching is aborted and red bars appear in the front of you. Try the smaller STEP.j If all wen}t good yoE}u're asked for OFFSET. Also, you can see an actual length of your program (after the first pass). OFFSET is the }number of bytF}1es which are searched forward for the sequence.= TOFFSET 1 - $0100 bytesa v-"- 2 - $0200 -"-} G}} -"- 3 - $0400 -"-( =-"- 4 - $0800 -"-J _-"- 5 - $1000 -"-l -"- 6 - $2000 H}C-"- '-"- 7 - $4000 -"-}, Yeah! You guessed it! The smaller OFFSET is selected - the faster packing proceedI}Is. But then it also got a worse re}sults. Yet, don't suppose that if you select OFFSET equal to 7, you will get the best resulJ}ts. You have to know that if t}he OFFSET if big, a lotsa of bits is lost for the decruncher commands. I personally noticed thaK}t the best OFFSET is 4 ($0}800 bytes). Of course it also depends on kind of file to crunch. And don't try to pack a file with L}OFFSET bigger than it}s length.$ Okay, OFFSET has been selected, now wait some minutes till the packing process is finisheM}d. During packing a} single line is on the screen. It shows you how many bytes left to crunch (LEFT), how many bytes have beenN} saved to disk }(ON DISK) and how long file is (LENGHT). When the packing ends a colorful bars appear on the screen and you caO}n press RE}SET. tThe first phase of crunching is done, boot the master-disk to start the second one - linking.y WhenP} the title} screen appears press SELECT. You enters the LINKER. It will link packed data with decruncher and file markers and Q}#will }save it in normal DOS format.( In the screen you can see length of unpacked file, length of data after packing, lengR}th }of final file (with decruncher and markers), OFFSET which has been used and start address of original file. You can add coS} }ntents of half a stack (memory location $100 - $17f) to destination file by pressing OPTION. If you're glad of a result pres }sT} SPACE to load data into memory. Then insert a destination diskette and type in the filename for packed program. Confirm } it bU}y pressing Y and SPACE and wait till the final version of your program is saved on disk. Reset the computer and chec }k out, whV}Vether your program works. It probably will, but if not - there's nothing you can do.[ "The Cruncher v5.0" pa }cks data conW}'tained in following memory-locations:? M$0480 - $06FFe s$0C00 - $CFFF} X} $D800 - $F.$ [And t}hat's folks! See you all in my next productions.n wMagnus } Y} !World Federation9 [of Mad Hackersnext productions.}n wMagnus } HCmPTLQR@i  ```pppBPNPNPN}PB}[}[NPNPNPBALP==eUx ,/!$%22/2 }\}7rittenby-!'.53 e3electprogram\]^_%3# %}8)42%452.7elcometo#25.#(%26tH]}぀presskey'8 #)/%22/2 >presskeyLP}01 ,P"/y>9^}Q!LSL R P ,Pѩ܅݅ Ri } SLTЦРЭ) tR_} q L5RLQi ܥiݩ8 8 } 曥i(ܐݤ`i   Sy`}  SLTy` )ˈ` ˈLGSL}Q'Q Pˆ̩ͅ΅ S SLQ La}T&ŗڥ Sͥ8(˥L S'iŗ }Si(˥iL S! SΥ8ͥ8 ˥L Sb}/ iŗLGS Siͥi ˥iL SLGS })ˈ BP͹ R'aQ BPc}LQ   S6'TLIT./4}&),%6%23)/. press30!#%toretry`ˆ̄ͅ΢ˑ͈Ld}'QLIT`3c  a ał a a}慩` a惥Ņń ] Ll`e}憦`}) ~  "/D}L Li S0`ƈ6 - . 1 2 ) 01!/f}   Lũ BDELVLm}E8) 01^ - . 1 2 !Rp  g}v SyИS S)}Љ " ө /L S  iiL}h}IpppF @Fr A) #)/%22/2 02}%3334!24/230!#i}%).3%24#25.#(%2$)3++02%3330!#%"!2,/!$).'0,%!3%7!)4) 01ixԢӍԢ}j}T ؅ߩө@XR@`1R@[gL pppB}k}A-.QT}RVE|Zl#25.#(%2verpby-!'.53|l}CZ'R(C{7om}mYrld&ederationof-ad(ackersgivesyouanotherproductionfrom }itsgreatmember-agnusv3eethen}v#25.#(%2$/#fileformoreinformationsaboutthispieceofgoldanddontfor!}getthatsthesharewareprogram}o}Ei'reetztoyouallyoutoo lamers }p}}q}40ressanyoftheseon"}es}r}}s}Ҡ 01"/ ))?0$)?e#})?et}=Ң`ʎҎҥɥ0 )?Щ` ,L"AphF1 pppNO"pBY 00000ppNO"ppBq!A $}n#25.#(%2u}0,enghtoforiginalprogram77<S,enghtofpackeddata__d,enghtwithdecruncherv}%} /ffset227Z3tartaddressoforiginalprog__}w} &$estinationfilename$2N7elcometo#25.#(%2v&}_)fcontinuethenpress30!#%"x}!2,oading&0leasewait6=3avingBN0leasewaitY\adhlptx'}y}T?R@  ` 01J""/z} w"؅ D, w"0u(} SL$   S0䠩,   S0˭4u5u/ i0А i{}0 0u1u2u)}(8 " 3u2u *{   * i|}Dži5*}ii(!ii< ii * 0u1u *!'!q!}}) "+} !'!q! D,4u5u  0 S',q!! -,L" $  8~}Cq逍,}оL%xԩӹө@Xii؅` n%'+q!) )Lm n%L%D:} } B-}D%EJK V0` BDEHI V0` B V0`//w0 *}Ǡ'X+q!.}! n% 8, ,%+< M%++d%%t88%de%%} /}M%0 M%++e+e M% +L'8ذ 8% M%͆ '}0}+ M%8+8++ ++ɨL%8%8%% M%0 1}}M%L'˄̄xԩӱͦө@X M%xԩΥ؅̥лi(ө@2}X`}Ǡ% M%))8)ύ)d(LM%"&%  M%, M% 3}'%}( M% n%'<(q!!Lm,0ress30!#%"!2togo3%,&4%34xL"4} }Ǣ( g c z g*+((  z6 66`(`**+` ^,5}Ƃ }DŽ`Ɓ Ƅ ƃL )0  ^ x  ^ xЎЪ 槤 ` 6} ƞƝ}` ^ ^`Щ  ƈ`  ө"/X@L 7}ƦL `}G ` ܅݅&& e܅ܥe݅ݥeޅL!*إKJY ) ]Jk 8}) oJ ) `}Ǡ'+q! d!Ȍ* \8 0*d!i % L*ɛ*΄**d!i %L**%9} L*'0+q!#L}&*+`4ypedestinationfilename+\+7M)snamecorrectyn V0ress30!#%"!2towr:}itedestinatfile}5dxԩӹddө@X`d%LM%ٳ;}Y34!24_retry3%,}%#4_exit$!4!,/!$%22/2 press30!#%toretry'q!`'!q!` w"p   S<}L$y`',}:q!L$)nsertcruncherdiskandpressspacebarF@;GGUZZ^bfjn=}rv} #%,/37;?CGKOSSWW[aeimmqqxy}}C>} EHMPUX<<<``hhp>><:8642 Bn D}   vpppDPC} DE pDeFpG)FADHHH0";LNE˩@ ԍ ԠCЍ E}LNE{DнBDЍ LNE!Р[Dй}[DЍ LNE ԠDЍ 1LNEhhh(@˥).[D̠\DF}[D) FzDFF) )FD{D|D )}F) F{DLb36[^u&'()*+,}-./03%,%#4 ,G}).+%2".34!24 0!#+%27@(%,0 ).&/Ik  q} !"#$%&%&'(OeF @eH}F󠡢D01ȢDԩ"/UE \FM)) G LF GLP }GGL ԌԌ/b \@`I} @eF󠡢D01ȢDԩ"/UE \FM)) G LF GLP #hC)79ddiCBJ}-1b1)CRUNCHERDOCbDZCRUNCHERSYSB55@-ABEQdon't pack BUa it!!! Beep-ppC -!'.53/&"(7&-(0 08@presentK}sHP#25.#(%2X`verix0/,!.$Ǡ| ҆ӠԆՠx /Ԍԩ =L`ԅݥՅޠքL}ױԅإԅՅ < 3 U)ǀ # #Lz # #L݅إ݅ޅ  Uۥ)M} #L # # #  #֥Lzԅե ؅ե`Б LI ӥ N}؅ӌ`ޥ ؅ޥޅ`݅ԥDžL= ؅`τ̄ ԍO} ߩ؅ӱӑ i F uӍ@X  u 01!/ـ 0iDP}/L S  iiL1R@zpB Au 33%,%#4/&&3%4 !_%',pCB A 3%,%#434%0Q} R  01!/ـ 0C i`!"#$%& J2 ) 6J_ ) `R} )  0 ԍЍLI xԩӍЎЎІކ߆ԩԩ"ԍ/D   i LS}  LXL&0 3  ߢ T T` `` 8  T( LTT}8 LX 3ަߌ  nj 3  3 ԍL  L qL!U} L  ڦ  LY  4L򈈢  8V}8D&D&  ?G` ?  L L) 8  ( 8W}`󤌦`뤌ʆ`1dW)8 )  ` X S0x`X}!"#$%&[ ]`H) hhhJD`Dݖ 8C5L ` @ ,LpppBAleft9BdiskFQY}lenghtU|&8ޅ߅8   TLTǜ@ @?KqTUHSTSTM(E*@!@L!@BaB[ `bяD%GÀ C€A Z J`I$,@* up8L^} @R8A+ P)(1` AA@;@BFH#ǀLA`d`&  `֬  B @^6x_}DaC D >T `,. ``L#79DLa1/-ONAEtas H 2<@^p1A8@~p`}0!:2P  !eh(0!, H |`B(|X sG@HPΊ= dF  ` 4NX;Ph8Na},M((@3h > 5(44TdM,((@@3a8@^0xHF"X@a B a"DžBx!Bq D*O'b} !-a@Fa$Za q 8!pF4 7= Phai@0W!D! < $E HEND 8L u=U`X a,!c}z""c+ Ȭ$ta 0 )X JL%@XI$0s' F tFQFtt B``Q|$4aKU@-kd},| @3ʄ*gsCa73g0T525x`Dt B`H"Q¨ $ty( $(0a) Y Y(@ (e}&a]h9CH"$ 88bh `C@(T. qx∢c( ppL*P 0 g019M   f}m0(@" C,eA"8Uc"J Ixc*@F8`$b$@D@0a Q0g}0F7.hHnB€1&A   `+  ##eb Y.( c@-;OR@˧`UǍ@?HWgPkPjYiF@BLR>r9K2FsIH2JxJKJ"Bb~>!@@Rya@ {}=1a(aߐpw3 w6=2Áy`C>rbP g a$$m,3qcXLc<@t`C|}J *a C@C OCAHπ_#༌!!C /d>7```&h@3D:: : : : *ѡR}~}^R)R;RR@C#4aa!z!fc@R#@@.j@ah*@!EjB!E&$Er4>ED4<(/GC/C@oC'@y'Bowg@wӧ@}46jP#C(PqCq@`q MdcLHL@NF! )F@" 0 4c$57D2Zf=0(I )`ǡKȶԠ5u6U40313PVw5"!:x7vd2Ul}PRJŒ JӒG Jѓ `Kݠ̴@ p@tpAToR"j&( #Bǥ4EcD@<̑tbBc hqo@D 3E!(lED}g 'A1ɇ ?$`@0Qd@Fp1r},DZ I EB4Ú/e>@:2E>"HNfD_\D7}ehyҋRr_0PX qf0q7DDpZ` ')J 2$@ Q1J8$9UjRVZjnz~*J֦} Ƥ&pG{ަBS}ިR%(_oB_+r_W+բ_Kղ_kY: z ܀81ZF}a>8x8^  &>/}%R 03:V~7 7 pDr0")膟1 G *XD:nb1^0kǑw a.E+)6@18XgAaa1 #0@}1ys c MaL!э|@0|p_aP.<ƒ gyB! C@: >QVRW$8eu]^,WPQQ+} ,<NQ:/@|/kED`QTTTq}QqaaEUE]IIl*.¨**6 ǩ"ACˆ HHL"8 W 1}j8ܼĄ!08,}_ xO-A; QPPÀTQÐ Შ/'l'颎{~> N렀~+Jh1CTЀe%ĄdEDe)|}\!PT܀CCC@%ED L LMJK@)@À L@L@<@N1B8D &@'@(\@L B}0\8@G  0 p,@H J" @ @IZW@ZR@ZYPRRYeRC["}! 8BE_aDŽ#}tL!~X Qb$9k!`A>I߁XEJ e:2J'&!m-RO`= a|xԆ1é`dCXS}"D`pعK(P) @$ vѭ ggW JWNi}.iYyCC CX8,bP ۿ\}l\0\C|2KK@s112u càU \ @ԠW JWNi}.iYyCC CX8,bP ۿ}\l\ bh/R@epb0@!xkР @<3Аod"d lGrYւaZ _p-h)habD@.|/BYZq} nV$G?{HxXXai`PǀC>@h U8-LxAl&>08( F,3lŲX !h FAT[Q3 S3[S3S3S2KU2U$}dHAf$7pM'Ǹ,,,P pHKb;ktjȭ1hVHh6L$h>phIv`ƈTJ777 @{}QB#B1]' Llj0V\x [Nl nHI?)n4 6\;В#K L-H'J A*CcA+K.f}LhwgV@@ L\EETF14 AL ,It,O,PqbWBF O$bfBKz P5%|@(54A!E  X?<#}qRp  BB 7l_35}c35K0 K"O<,Q0Tbňj +mlh\0p@ XDzB/‚F ! tBϣDL@. ҮdPȣ!b rsxX+xX3A}F!g?߾ntpr 0nDEDUTU5bʹ*hLIUTUNA*%o>>/??~bML?AUU]XS@5QXxW?CB꿞GAs J#-`'r|}j*֢;ګ:84qʫ)@sx^ `b* j"8j 8E<3*0 @P D(IYN UUPCyy _}yiyIIIYB\|KIK@ w?7 |Op@Pi?OC  7ũ))9 Ň}!u@nr\S   /o)iꠦ"^*a55%U1<75:PSPUTTUU5WWWg[}dS[X 4Q0C9I\30YT!Yu@[ ruuuԫkOIQUmQPW]WUWT';mɀ-i)AUUǪ³CRSB} Mf$ %$ R>JE4qBpf'=2~$큄DGL$< "NF /@$,I .IuD\^3 $g H}:@)\v UA$xFzM;@Xz c'`c+[%P#U/ /.6>>`#x7"SL+[+R+SR()}ǃ$) K Ū@iEVoFN 4&Ol0;i®+='Q{C=;{t{ {{ { /scA/tFD}$01 B8On.CB i#N *:8X+[D+PoŎII NX΀YNYN `7 ?G0 >|P$}IIDC`V BNR#8LBL}RN|@RBHI DzMJBPϡB3B`p u1@#-!;ngZUq+Z3q [}5p@?DESTDA]] "opMg,Y0!@!BH;n7ku7Ƈզ2+&FL:y}d(QA !Lg`! l.j%TPQ'3p`00 XC 'SХW$E9@.ajF#J9G*`4@\,cXH#hb"}V\x Nކ 1yEiƀZ  (q1P#^)!ibR&̣,TF`R Z\W64/χBB" /08<<>>>^?}*tabjbhCep zGHOA3%;-bTA؊2\&YX/T #q1%< `ÄA= DC}L128Tyct@ 0245AjoBHn>Ʒ !D;$$p   @ooifffiD `}>\[;ϋ0Y89"߂"^E #t C!XƇ`6Ā AFNA(&L.b$ai(g[1z0\yC3ǔPG Tp>GDp1}`Bh3#E@^T P9$2^G '.7kQX7eF:/hI"f 7H@"C^0 xB7ܬ# o!КJ9jj}ȩ8(_ԬrPAK9hBF2!S-GROa |k7&yDi*AyA))12Eu@`+p8G }$o\^ RA֐!rC4.*B'AG H\ sB?Q*ML#HnQ @ nD3e`0@$!}SRUG"=Om (ja( LG2@!ƠLJp$D @ #^#&#UKOG @#$-&E ܑYܡY}X\} vYX.Eobe`x^^xqr <$L0cIO8KЫaK1@.DS-A̠ mЄbR)>}0   PxxxуPb)Af)u.@`PBA:P@BA f/a (Pc R b1H*AL@@h#h#}.-DLJ !A.H I)[yAE\H؅Fb,NRf C<0 /(H@`T[J}Z'Z: -M|P\E24F< iLK/JzQZR!0aq#MP]! G@t%B01(Q"uF8`D "4@0}x<?vLjX{K) ۗ@hVFHWxX @I~KcS@Q3 ~!@=9)`2DbO!'|b&& 8x,,}[Vxx|88}#:B@敕UYjP#@**~T /A0`r */ @.r: BNJm*@.s90DO?@THP#*}QPDT tQEg(T ?3<< @ ;Oyက~9;o^_[^oW; UK (* (2 ((a p0}"q~H60@_9q92< c',-[@FVT. 0 򬪪&0UUW}]]qUUW}=5?<?3Q D0V   aqWUT}T TAvSX~@HxeASSC7SQQQԀJ̰&guUTI35U]Hg@ǦT \P `B 0|}>1Gx_w]wx?G|B@ HHe=`00a$DB I@ hz>x``DhP  A@ }RP(00 瑱J @>`@@% P Xy,8NS L"T+Q H  *7 0-t0o@Q}@@@ @( /Kd`E 4*>@* H(' _TbG'=驥9O~zU}Eð]r I-,ɀ8KHc38pppeD)zæi@%C Bra_??$:~ ACuyiYYeee TT"_+ի ]00Y}_Wgg_"S{{{DC qF 1 !PET_ **"*"* 2(" ä B8 b*"*d2\3?y}8b3?3?𸂴}yYXFPP  /@\B @ºBuqq(TuF(hzUWjh#SwTdz ڡ?333kU}T"}UFBo rr B rzR 1ćUU?W45UIUWȗLH PD4 T5AAUu"&=F}lPǐRmE`k+O]l9dG9EƁiM/H>B_B?HUQa]ߟ(U??=|tP@p(ʨ"*}3SDǾ *)ՖVUiVeeVUZeUueM0GT J@5KT@8 Y +(@B0B&0$p -A`a9BwXbx(F}p|#ǔ@.``%! PG>G  IXXXQI꺺rPPD%05HD2:g@D: s8a`(޼T# @{}=*l`'T(å ~~*i(9@P+tAPx*RTn 8UB!02<}BgG 0| ꊊ*'Wʊh*60:(( HI JJ((:p73-@0FݳB=!yu"-r* 1}(d8,4|||$DM,W{L0ix`mh@ ++UJPK t$ Q@APԸ}8ꀀQG^^& ABRP뮮﫫HP`Bĺڐ 4_uv =uWU֖N0!mMX'UVYQH U!}>TЀB3#UlhTrǹ4UH*]/CK9Ő7 3e~ΓM*)&XN?K%)f,ncrL/\b6}!+uƁRK?ԱNoW*z$;xZbt#I;*,⸨2:`h,%ɠCOP}\!lmꗑC~Q}pZ}۷rcGPjW_WoZV  p}Q0P࠼uB(<\CZ[ꔔ(O;7x4 [&a{rĀBXu\ xKUT$} TUQhq (IbofW҄?<Ǯsd:"S3W޵'ς7P̠0`uD]媪PP"#|+}.!(8('PԴPUz~okhaU *5=??../mMOH($>8ǢE%%554Z j@YԪ@M~% H)B*} ʨ : )&C/B}$DڇEU#j%U@MG ( /ijjiI~'[2ҬPdP`U#@@ /P*(>}ZUрUBӪ , J MMM*h¢VUbE@E !]T4ұo/뮿syЄ5vRsSWb+?g%*/,,k}80100a,(< R?yH8Wbhx~Qa} p^G,?, {,̅gr iA8@@b}®iⲬLq8Do!cA+ 0a7ooķW#C? ʬ0Ԫ222$tWa@EcT41^o*}m>1l(8Hy~'8 G:d5xΔ-2E@aD|o_(R!yTBb}cj/\Ʒ0И Fu1m UX^W׋')UU1DQ. V Q8瘈@w4zWimuտ$#B{} 㣣( Vr`;rư zzz8444dFh\)% sr` I)-/(O#T6L(^N`Bb`}@V뻾Rwuwr34ȺS~a0&oj,%JOE;?j?;t}ܘHL2DŃ// |+bO`EV0` o Vu BBc-@KcIEMKep87WWoʷ\F A0eB$N} ؀ġ@@kK y||@> Y+"s_ʪ[z:1ooniUV ֵz^8 x@S!BTU ] |n8x}Q}|Px8Q6P8Ln*:vd H0 ̌0 q 2"35R,㬣%UY J(!d)&Ux!ؤTQw @3tJ-X8i|_}(DLȱSRв q:g"o@h꨿U柊 "0)UYZjZue.؀@{Y- x:{7-g,0XLA@}B N+,Y ` jA",!(`!P@PxxAd$6a \$&#N}R'`B6vrEAH v???-Y P(}*` *Pqס8&Q}B+xxq` ¹q ܲ qTBuA[օp8j8h[m2`Dp(:X8;}Q@P%r< n &#̨(kƀu(VV~h``Eg seav&<@@ Iua <0pp}וڈp@8ƍqm|VaCfn@@Ã((.;;*ʅ;*?'?* 建ˊ o} >:$De8O,>? @(30 H )t@]/GA@uFsՀTʺs}ǀQQYU]u]uu؁UuPT\\b Q]uU^-B `8.+ސ@ IXPA&*а! 8 :E``20},8X#$N*(h^xbV4"bFQm+'tR"&d@J`/§]_UBGP}}A^< % 2ࠨ- &V[` / H}htoVGV 綍Q%88[ndL N "*M6 e=TQKB)u>@Kx ngcfD@;M P q}'0 V!O$"+8@ ?@-@ es0b:BȈ REb<$Ė@w s AtU@}$r<"qQqqYTځta¨?G,Q\AA((aiNK0n3 o, bH&*A|$Fv`}a+cW O|@@O"TBձ5@B iD;.G ) 6 |НK@PTX QP oX5 /PAE}OT%mo`"ꪡHUZ'4@B@@?H 2?y ;-41شE*ܥ))ȎO>0-UU5}$4* -DM4q1AEUDp"~e3,0@5 P @x C-=@+=?@[M%s*<^*3}  }V  b"hN7xxhhX0 AMMA ANNCZaav0xO }U#  ,h(@e(LJ@C ,",.Q N XcFU|$!/$)H<DA HDR 0v}+D'0DCWIPc1laq Ip K&pV5 !5I]r$)k MN#@)=Qez$jjDbxN:<-AUi|@<(F}xFBD1EYl(EO @ACFJ p*,@B "0c#H` C:11 0m D ,H@)AHQL$} **+0;.< EpE560 D !QAhV_Ĭ9Q gqrsAaB" mwxyz{| m,,X\Ŝ9)2}wPP P4G##"D&BTW\`P !(X큁 5@A J€2s p7F^@'P~$"s] }t C2"$C)B"#$%& :Xb!wñ` *JjǪ9B NFZ`4R@`p 8!1ZP((@ `h2v}!B²AID "h8C3#: @ ͍H{&r J &{`!P.J46(4npu'(4'St`B} ( @Ft JJ"N@X^Z\A  @ )geLJ@#!6&6A hU=89@!i11;ckh%."@ ܜsw}!B #qY)2@dL')0w ,(C1c dR Cb"BXu0%&s&L@"ܐ٪ 3Ѐ}ʰ @D1+kKk C3b0pr>rdq\JdGD "VXiǪ5#0!h P($ sJJJe-" Rc}E IEE %%P\00 xHk%P!ӀF6 C&g1bB?Ѐ$EV"ʁ$@2F3"[H @'!CYrs}@'04N 9y@b@Hs` #0'PD UDe 蟴@3CQU 9dGV?NDB4 9CAP Q*-!AqQfب}d|AVH(0(+|`rsI@#񲳘66(yH fcDrKR $CeRU$PH^F'Q0H!"@H$DbP}sa(DD IN2aJPJ`pBC(!^! H kj`@b{ !K`'2/;GPSd '%/ }RbÉEvvAB`p9Eh0  <7\^s<> :>qG\@R# ZHL "22@?DYdǐ )! }L? FEa @u!"p ?D#A̐so #U #m(ȀC7bY&B x  (, D  @NPA}`J a,$)@NP@1[pc/4R4:@vKLKLKLIJ1UWYZ ^`S f&&eBRz3B0s'VǠ}HKqC [\VB^5ELW\Av#./01RT2 P9bBF‰ apt@$ii=EH}   48:@ E X,0$P   lX`$.ZB4 ` 3"eTd!Q!1AQaq!uL&2L}4 dDD`uu5ՕWwuxbgۛ+zۛBz3xu"=V܋.Zڲѯ H BE}֫׹*ǀӱ** 7 0Zc ya !?d>$&*$$24|$- GTr0dmȀ!ѳ{0xȐH8}@!% ǔ 0 "1 Q0Q!`P@ 00 PxL @lol`lb;Q+1f666g}>`f> 0@;1|% ׍ '񹽿 P@1؀<30qSӭ O.x}@'8?  %x@O`G]c`~+8` z? 97~ x?UWP @?4ʀaBfY}*|K3Vi9|ݞooߥ'~>62MP'  ger`.?}@6oml:w w̳m~ N> g'˲},E@A>oiI_# \9Do ,GǶ d`W 4nC6A̿s}H69}.|s#'9ᒉ  KI^33J`` '`#9!o@Q$xd}\Qp ;~}a Š<pёp ~bv9  ``  cK(ulՉL`UGET`aw0b`",D+TTUF"`@F( %$$Fu%%&V$t$%Pp%S$}S S PA Q Q QQ G A Qn!aR*@(AQP*DU)tV"MSǂF`Z* $"R. 8*%}*qAUC9b&txbLEXTHDHeXT@qYbVFԉVT+$$Z!DD@DD#D$7TP@P q &}  ,5TAB  C220H8(e- 0u&U@>qASLjC4 2,+Ksq (皊eP"Ҳ"52B5'} R2_h+4zUUR!dCTT? ʭSj$vB:@FVUZ?""?ꪪ$T*ʍ"@?*̩~T a(}PUu%gBEE{i ]D0ã|ʪUJޢ*8*ȀUU" +@*1 UHYeDQW)},X| 2 gT Jf@ K}} Ag4 Rf@7JId1( ?@>LJP6f2zXED$c@" @Qi ĭܪ*}S cT4@H-IP[n媪*!"@?|+)xgo2@2d ڣ0>:bـ}-"$GOU3U5Ɗ K6+}Ȁ#~ 3Zi3 D/ҭ2 =7!|B5S }, ( ( I|l"{% |l$UHj_T>V5h}܀ܕ RV:%-y,}w|&vF X9 ҿ bWWme08}f2WWư`*)}WSls"&"}\XiTp(C-}%RUk !' DX8I,`̅)0 aZA/3 @TDL|Tf|r* a@?0,@ZXE+=.}4@<."/jULR^aP,DB}"Lը.4P,ADn#hn>oİ@h"YFpD*X vyVEP 7B /}SnD2#_ꪷS.]D¤>PH< ?aUF 8p骨j "(,̄(PAU 0}8E#uUV?!@_(7|I ATO07UG"zDOG@>1@p@($$ ?m@1}>0!Qp_/t@@/>}T yD몪o|(P@T˺7b G(ԁ~@ jiop$%P  VUԍ2}jN @;!|m$ ||U@jZP!@> y/@QTGWAWFC,:0!l>243K43+T& ­ N # *dR3}eY@>@[@_iF@(~6c7 "Ҡ_h,Ё *Ԯ-VIZZfUZQu` E*T`A fZT@M @I4}FEHC!ES,,+H~RUjI"R ?0/* O2rA);饖ei_(B"*'e /)OB @Pj5}0UQ@0E ̘PH#8qҳL73',0/bLsV}s*RBѴƃ P&D;zljƌ$(HUURXH6}J`*)h~Pҩ*@԰0R@Y\jJ0P + @ ! %UBP J(@ |@>`?)P|cN7} Ɗ%*-h52 ,+$U0Ɇfn|󀊪EQ Xɻo CXsj*E?#330#R8}|uUYI:d@q[ ᪡UH@_dRVVD%nUU5HU*E\YiiWUBe򪮐ڪ-9},6$L8̄   TiVgv@]] *>@<0S (-,ºԵMSUPX ЀJ_wU WY:U{XR:}$ƥDVH@> ?ʀ`.*@ Wu -HU73 _B' Zy|S@:+0>P@>yXVa`_PJZ;}?À0,U\7h2 x(6hǤ$UU|d$$5UFi" D+ )mN UTkL7<}|m$ *W Ѐ(jLI0^  mǶ h P0A %P>1dQUUT) Fi> ]=}J| !lF@ QN-Ukww4-8$G+w߅ }`%`p@ Z?D/wE$WB>@D>} <x@+0@ 0>@ 0bcs>Q<[͟͏AAl0$`Jxpa ' @}ߟM _s0xם| |A@X``f`flxl``` xw6ccw>`?c<9ƴ W)@ A}@B#< 0`Pp1J&' M``?Ȍ E ? 0@ 01<.`@`x~~@x`IN@ B}300aks0 G7{ ^6UűkM(! HU$h!T$8 *T80 P>o$SC}8 ՟"Q_pp0yOE  Y||  @>pQ?$jx~.*>ARD}A|tD&GEGЀ@@?'ʰ"Jʈb2SꪆB @ƿ #AǪjHE @HoT\ cP@C{UUTE}@5<.'B7#P jl_6xp Klʋ¡(**Ǣ +=UTp5UU\Ag :r F}UUE<+.:t '/t0Q 8_M@ N9ay@8D OnjJBrx0*u:?ģBP-#cGG}9eH@T@j$ Lh*1YtG$*+'XEh:jrxi@8==P 8x /HE\5 +$ďBE EH}!#Cq 8HPPbiC8P"E UE pVp(`^ . ( Ā`aPWďE IJPi`L#V2GR` &@> I}،X-#K$@NNL0,$U8S@ _L x:lN<C P ] '< r{?ߐbWh @ I ǀNr m9J}Nп<&~PQz')_" 3`. r`fFJ8…kxU' oTǰBJ?<K}**j @ !U+L"U@@*. ü/OWhu*?> puP H)8. oĬZrZ ~Dž8TPL}d  *gR B)85 l[X>՟ _٪@OUU  !? ;>)sY4PǾM}BquEP #Pl!XbB ^B_R_U?OOOl|xR|3Z[ߝKA!@@  N} @?D# @ ;}=H%@@aab ><8"88'8%!vjq݈@ L@ R4v3O}Y ۠ppE`` E &w@e@0SA#ϖ@x!=F@ oRDSL4 <@AFvp1L'P} `Gt Ԁ;<,a` я@e@0SA#ϖ@x!=F@ oRDSL4 <@AFvp1L'Q} `CF #5l-1W4LP0C@ESK D]k\%Hį p{ EEL'zDn:D1:*.* ;LK戥  @R1  YLŷ`}ˠS}Which drive has the disk to beSHRUNK? }Insert disk(s) l 8 ٵi0ŵ E T}i iLii L U}8鉥鲐Lg斤ŗ L% LeiL8ȥȥV}ȥȑii`LInsert disk to write  Q ๥   ٵBDW}EJK D BDE8HI D`  ٵLRe-insert source disk搥eX}e8ȥȥ`8``hh p L Lh ؠ0 ) Y}` `ԅ w`T ̴ `L} `戥 `  Z}PL   ٵ! BDEJK DBDE8HI DCH[}mIm i i8朥 ݠLӠ͠ )Э) Ǵ` BLD}\}ˠDestination is drive#?Skip blank sects (Y/N)? l + 6Y} i0ŵ E]}  ٵ0 Ɗ  ƉƊL Ɗ ƉƊ LŖ8啅^}斠`0` 洩`0F  ٵ`}DONE!NOTE:COMPLETE DISK NOT FILLED:ERROR 6 _} ; ٵLN ԥ wL} ٵLInsert destination diskInsert d`}isk with }Ver 1.01Select:1: Shrink a disk to a file2: Unshrink a file into a disk3: Set DensityF=Format,D=DOS,B=Boa}ot[hit return for a directory] Choice:K:PXi*Yi B DBJ KDE D 6b}1LI2LC3LٺFL D l BLwɛ LPHIBDE D `Enter filename,(c} type the D:!)a I HBDE DHWhich drive will have 6LǴ `Enter drid}ve number (RETURN=Abort)蠹 ֹ ɛBƝDE DL ɯϠҭ VCɈ3 ٵL` 6e}1980`} Change density for which drive:Drive is now } DRIVE CAN'T BE CONFIGURED{ l Ǵf} E ٵL Q` ٵLL5@N O1g}    Y`}Drive#: ֹ B DBJKƝDE D BDDHHEEII Dh}C B DLL6 ` L PTإ iiXY…ԩPբi}8咅eL:PXiYiXLPI P ߩM`ɛ Ej}Lt Y !"#$%&'()*+,-./0123456789:;<=>?@ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab2345678nopqrstuk}vwxyzPKLMNOPQRSTUVWXYZ[\][ז⚛wj?&'<:@8B?C?@AK`+@l}sʷɈ QVhƢߧ1z;<=>?@AB+,/%& #defghijB/0m}"%(%,,STAWCGOPTUV (]abdefghijklmnopq%stvkoyz{|}~2P PZfgin}ǻWUVREQ  UYZ^`vkstox5-./0123456@B|ՒEGABCDEFGHIJKLVXQRSTUVWXYZ[\]^chio}jklmnopqrstžyz{|}~RTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwk*+,-./0123456j`kcig>>?@ABCDEFGHIJKLMRSTUVWXYZ[\]^fp}ghijklmnopqrstuz{|}~ $$))#/60',-006BGHEq}jopm`lr/nrajc{6frwp 0}mz~slmnopqrstuvwxyz{|}~PeSHRINK.COM (attached, uuencoded) does both forward and inverse codings.This was uuencoded with a unix encoder, so does not s}have the "y" sentinelcharacters, but with luck it will still arrive OK. If you have any problemsI guess I can code up anott}her copy with YAUE.characters, but with luck it will still arrive OK. If you have any problemsI guess I can code up anot1 GOTO 100:REM jump around time-critical stuff to start up program. 2 M=USR(UUDADR) 10 IF M=0 THEN 2090 20 IF M>OBUFDIM THEN v}? "Error at line 20, M=";M:GOTO 3000 30 PRINT #2;OBUF$;:BYTES=BYTES+M 40 INPUT #1,IBUF$:L=LEN(IBUF$)+1:IF L<62 THEN IBUF$(L)=w}" ":IBUF$(L+1)=IBUF$(L) 50 GOTO 2 100 ? "Uudecode Ver. 1.2a":? "Report errors to John Sangster at" 101 ? "(617) 235-8753/jhs@x}mitre-bedford.arpa":? 102 POKE 6,1:REM Turn BASIC flag ON. 105 DIM OBUF$(80),IBUF$(62),OFILE$(16),IFILE$(16),A$(1) 110 DIM Uy}UDECODE$(400) 120 UUDADR=ADR(UUDECODE$):IBUF=ADR(IBUF$):OBUF=ADR(OBUF$) 130 OBUFDIM=80:UUDDIM=400:BEEP=150:RETRY=500 140 GOTOz} 200 149 REM BEEP Subroutine: 150 SOUND 0,85,10,15:FOR I=1 TO 80:NEXT I:SOUND 0,0,0,0:RETURN 199 END 200 ? "Loading uudecod{}e subroutine..." 201 RESTORE 4000:POKADR=UUDADR:MAXADR=POKADR+UUDDIM-1:PRGTOP=UUDADR-1 202 READ X:IF X=255 THEN READ X:IF X=2|}55 THEN 204 203 ? "BAD LOAD FILE FOR UUD":END 204 READ LO1,HI1,LO2,HI2:BYTES=HI2*256+LO2-(HI1*256+LO1)+1:PRGTOP=PRGTOP+BYTES}} 205 IF BYTES<0 OR BYTES>UUDDIM THEN ? "BYTE COUNT ERROR FOR UUD":END 206 FOR I=1 TO BYTES:READ X:POKE POKADR,X:POKADR=POKAD~}R+1:IF POKADR>MAXADR THEN ? "UUD STRG OVFLOW!":END 207 NEXT I 208 TRAP 209:READ LO1,HI1,LO2,HI2:BYTES=256*HI2+LO2-(256*HI1+L}O1)+1 209 PRGTOP=PRGTOP+BYTES:IF LO1<>224 OR HI1<>2 THEN 206 500 REM COMMAND DISPATCHER 530 ? :? "INPUT FILE";:INPUT IFILE$:I}F LEN(IFILE$)=0 THEN 530 540 ? :? "OUTPUT FILE SPEC OR":? "DEFAULT DEVICE ID";:INPUT OFILE$ 550 L=LEN(OFILE$):IF L=0 THEN OFI}LE$="D1:":? :? "Output to D1: assumed.":? 2000 ? "Beginning uudecode processing..." 2011 IBUF$(1,1)=" ":M=USR(UUDADR,IBUF,OB}UF):IF M<>0 THEN ? "Error in initializing UUDECODE, line 2011; M=";M:? :END 2019 TRAP 2020:CLOSE #1:OPEN #1,4,0,IFILE$:GOTO }2030 2020 ? "INPUT FILE NOT FOUND":GOSUB BEEP:GOTO RETRY 2030 INPUT #1,IBUF$:BYTES=0 2035 L=LEN(IBUF$):IF L>5 THEN L=5 2036 I}F L=0 THEN L=1:IBUF$=" " 2040 TRAP 2095:IF IBUF$(1,L)<>"begin" THEN 2030:REM skip header 2042 ? IBUF$:REM Print "begin" line }to screen & get OFILE$ if default case. 2043 L=LEN(OFILE$):IF L<=0 OR OFILE$(L)=":" THEN 2046 2044 TRAP 2050:CLOSE #2:OPEN #2},8,0,OFILE$:TRAP 2095:GOTO 40 2046 L=LEN(IBUF$):FOR I=L TO 1 STEP -1 2047 IF IBUF$(I,I)<>" " THEN 2049 2048 OFILE$(4)=IBUF$(I}+1,L):GOTO 2044 2049 NEXT I 2050 ? "OUTPUT FILESPEC":INPUT OFILE$:IF LEN(OFILE$)=0 THEN 2050 2052 GOTO 2044 2090 INPUT #1,IBU}F$:IF IBUF$(1,3)="end" THEN PRINT IBUF$:GOTO 3000 2095 NERR=PEEK(195):IF NERR=136 THEN PRINT "EOF unexpected!":GOTO 3000 2097} ? "Error Code=";NERR 3000 ? "Done!":CLOSE #1:CLOSE #2:? "Output byte count = ";BYTES:? :? 3010 ? "More files to decode (Y/N})";:INPUT A$:IF A$="Y" OR A$="y" THEN 500 3020 DOS 4000 DATA 255,255,8,6,3,7 4010 DATA 104,240,67,170,56,233 4020 DATA 2,240},14,104,104,202 4030 DATA 208,251,169,254,133,212 4040 DATA 169,255,133,213,96,104 4050 DATA 141,1,6,104,141,0 4060 DATA 6,10}4,141,3,6,104 4070 DATA 141,2,6,165,6,240 4080 DATA 100,165,134,133,203,165 4090 DATA 135,133,204,173,2,6 4100 DATA 56,229,14}0,133,208,173 4110 DATA 3,6,229,141,133,209 4120 DATA 162,128,208,2,240,72 4130 DATA 160,0,177,203,201,129 4140 DATA 208,42,1}60,2,177,203 4150 DATA 56,229,208,208,33,200 4160 DATA 177,203,229,209,208,26 4170 DATA 165,203,141,6,6,165 4180 DATA 204,141},7,6,160,6 4190 DATA 177,203,141,4,6,200 4200 DATA 177,203,141,5,6,24 4210 DATA 144,22,24,165,203,105 4220 DATA 8,133,203,144},2,230 4230 DATA 204,202,208,192,169,255 4240 DATA 133,212,133,213,96,234 4250 DATA 173,0,6,133,204,173 4260 DATA 1,6,133,205},160,0 4270 DATA 132,213,177,204,56,233 4280 DATA 32,41,63,133,212,208 4290 DATA 24,165,6,240,19,173 4300 DATA 6,6,133,208,17}3,7 4310 DATA 6,133,209,160,4,169 4320 DATA 0,145,208,200,145,208 4330 DATA 96,165,6,240,43,173 4340 DATA 4,6,56,229,212,173 }4350 DATA 5,6,229,213,16,9 4360 DATA 169,255,133,212,133,213 4370 DATA 32,54,185,173,6,6 4380 DATA 133,208,173,7,6,133 4390 D}ATA 209,169,0,160,5,145 4400 DATA 208,136,165,212,145,208 4410 DATA 230,204,208,2,230,205 4420 DATA 173,2,6,133,206,173 4430 }DATA 4,7,108,7,3,6 4440 DATA 133,207,166,212,160,1 4450 DATA 177,204,56,233,32,133 4460 DATA 203,6,203,6,203,136 4470 DATA 17}7,204,56,233,32,6 4480 DATA 203,42,6,203,42,145 4490 DATA 206,202,240,68,169,0 4500 DATA 133,208,160,2,177,204 4510 DATA 56,2}33,32,41,63,74 4520 DATA 102,208,74,102,208,5 4530 DATA 203,136,145,206,202,240 4540 DATA 41,160,3,177,204,56 4550 DATA 233,3}2,41,63,5,208 4560 DATA 136,145,206,202,240,24 4570 DATA 24,165,204,105,4,133 4580 DATA 204,144,2,230,205,24 4590 DATA 165,20}6,105,3,133,206 4600 DATA 144,162,230,207,176,158 4610 DATA 96,224,2,225,2,0 4580 DATA 204,144,2,230,205,24 4590 DATA 165,20M U S E R M A N U A L f o r BASIC/Machine Language UUDECODER Version 1.2a Manual Revision Da"}te: 5/20/87 by John H. Sangster jhs@mitre-bedford.arpa (617) 235-8753 (home) (617) 271-2000 (work) "} 1. PURPOSE: Uudecode is the decoder for uuencode, a program widely used on unix systems to encode binary files into print"}ing ASCII characters for transmission over networks. Because many network components interpret and respond to special "contr"}ol" characters, attempts to send binary files such as machine-language programs over a network in raw, un-encoded form are us"}ually doomed to failure. Uuencode has become popular for encoding because it is fairly efficient: it encodes each group of th"}ree 8-bit bytes into only four bytes of printable characters. Therefore, using uuencode, a file is expanded by a factor of o"}nly 1.333 to one as the price of constraining the character set to be limited to printing characters only. 2. USING UUDECO"}DE VER. 1.2a: UUDECODE VER. 1.2a is normally sent by e-mail as an Atari BASIC ".LST" file. This means that it consists of on"}ly printing characters itself, and can be mailed, printed, etc. without difficulty. On the other hand, the first time you ru"}n it, you will have to "ENTER" it into BASIC with a command like 'ENTER "D:UUDECODE.LST"'. Then you should SAVE it w"}ith the command 'SAVE "D:UUDECODE.BAS"'. Thereafter, you can run it under BASIC with the RUN command instead of the "}ENTER command. You will immediately notice that RUN works significantly faster. This is true because SAVED files are in toke"}nized form. You can delete the .LST file if you wish, because it can always be reconstructed using the LIST command, but you"} should be sure to keep a backup copy of UUDECODE in some form on a separate disk from the one you normally run it from. Kee"}ping the .LST file around is handy if you decide to e-mail it to someone else someday. Once you have UUDECODE running, it wi"}ll ask you for the input file you wish to uudecode and the filename you want the output to be sent to. You should give it th"}e exact input file specification you want it to use, i.e. including device, filename, and extension. Normally, uuencoded fil"}es are given the extenion ".UUE", but you will have to tell the program that. On the output file specification, however, the"} program will accept either a null input (just a ) or a device specifier like D1: without a filename, or you can agai"}n specify the full filename and extension. In the first two cases, it will attempt to read the filename from the "begin" lin"}e of the uuencoded input file. If you don't even specify a device name, it will assume "D1:" and will so inform you. If it "}cannot successfully OPEN the file it thinks you want, it will give you another chance to enter the output filename. Before i"}t gets to this point, however, it will have printed the "begin" line if one was found, so you may have a clue as to what went"} wrong, e.g. a filename was given which is not valid for your DOS. In that case, you should think up a valid filename that s"}eems suitable. After finishing a file, UUDECODE will print "Done!" and will ask if you want to decode another file. If you "}say "Y" or "yes", it will re-initialize and allow you to enter the new input and output filenames. Otherwise, it will exit t"}o DOS. NOTE: UUDECODE Ver. 1.2a also prints a byte count when it finishes. You should note this count and compare it with "}the correct byte count as established when the file was being uuencoded. That's about all there is to it. Comments on this "}manual, as well as on any difficulties experienced with UUDECODE, should be directed to the author. 3. WHAT UUENCODE AND U"}UDECODE REALLY DO TO THE DATA: The uuencoding process, used to create ASCII files of the type that UUDECODE is designed to d"}ecode, is easy to describe. Each group of three input bytes, with any 8-bit pattern whatever in them, is broken up into four"} sets of six bits. (Note that three times 8 and four times 6 each give exactly 24 bits, so no information is lost.) Each 6-"}bit pattern is put in the low-order 6 bits of an 8-bit byte, and decimal 32 is added to give a final value in the range 32 (A"}SCII blank) through 95. All the characters in this range (decimal 32 through 95) are printing characters. Traditionally, uu"}encode programs take 45 bytes at a time from the input file as long as bytes are available, and encode them into 60 output by"}tes which are sent as one "line". Each line is made up as an encoded byte count, the 60 encoded bytes of data, and an end-of"}-line character or characters. The encoded byte count is the actual number of input bytes encoded on that line, plus decimal"} 32. For all lines but the last, this gives 45 plus 32, or 77, which translates into ASCII uppercase "M". That is why all l"}ines but the last in a uuencoded file begin with "M". The final line of data begins with a character which is between "blank"}" (32) and "M" (77) in the ASCII "collating sequence". The exact value depends on how many bytes were left in the input file"} after the last full line of 45 was used up. Uuencode programs usually sandwich these lines of data between a "begin" line a"}nd an "end" sequence. The "begin" line consists of the word "begin", a single space, a 3-digit "protection code" as used by "}unix systems, another single space, and finally the filename which should be used for the file into which the data is decoded"} at the far end. The "end" sequence is supposed to consist of a line containing a blank in the first character position, den"}oting zero encoded bytes on that line, followed by a line beginning with the word "end". Some unix-based uudecoders seem to "}require additional blanks following these minimum fields. Uudecode is supposed to be the exact inverse of uuencode, i.e. aft"}er decoding a uuencoded file, you should have the exact binary file that was originally encoded. This is essential, because "}the whole purpose of uuencode and uudecode is to let you transmit machine language object programs around on networks. If ev"}en one bit is changed, all bets are off! The basic idea of uudecode is therefore to take each line in, subtract 32 from each"} of the 60 or fewer bytes, pack each group of 6 bits in the low-order portion of each byte back into 8-bit packed binary form"}, and write the re-packed bytes out to a binary output file. 4. PITFALLS: Unfortunately, as uuencode has been adopted who"}lesale for use in transmitting binary files across networks, it has turned out that not all network hosts are as careful what"} they do with files as are most unix hosts. IBM hosts are among the most notoriously callous about changing byte values to s"}uit their own preconceived notions. Most of the time, the changes consist of things like stripping off trailing blanks on li"}nes that happen to end in a blank. This can be embarrassing if not handled properly by the decoder. Another favorite trick i"}s to change carat into accent grave, or tilde into carat, or what-have-you. The only reliable way to handle this sort of pro"}blem seems to be for the uuencode program to send an encoding translation table at the beginning, which lists all the output "}characters from decimal 32 to 95, and for the uudecode program to capture the values received in their place and decode accor"}dingly. If they have not been mapped one-to-one, of course it can only throw up its hands in dismay and so inform you. 5. "} CAPABILITIES OF UUDECODE VER. 1.2a: UUDECODE Ver. 1.2a as described by this manual includes masking to correct the most com"}mon character translation problems, i.e. those which result in encoded values greater than 95. It correctly decodes files in"} which a "sentinel" character (usually "a" or "x") has been added to the end of the uuencoded lines to prevent stripping of t"}railing blanks, as well as files in which trailing blanks have actually been stripped! It does NOT process the "translation "}table" preamble added by some uuencodes; this may be added in a future revision. This version also is capable of reading the"} output filename from the uuencoded file. This will be done if you specify only a DEVICE NAME, e.g. "D1:", or respond with j"}ust a to the output file prompt. Finally, Ver. 1.2a is smart enough to ignore extraneous lines in the input file ei"}ther before the "begin" line or after the "end" line. This means that it can be used to decode uuencoded files which are pre"}ceded by explanatory comments in an e-mail message. On the other hand, this version can only decode ONE uuencoded file per i"}nput file. If you receive a message containing multiple files, you will have to break up the input file into separate files "}for uudecoding. A future release may allow more flexibility. UUDECODE Ver. 1.2a is fairly fast. An assembly-language subro"}utine is used to do the "bit-picking" dirty work. This routine is quite efficient, despite the fact that it includes such co"}nveniences as checking the DIMensioning of the string used as the output buffer and setting its LENgth parameter correctly. T"}hese features cost a small amount in assembly language but they save the BASIC calling program from having to worry about suc"}h details, which would be far more costly to implement in BASIC. The main program of UUDECODE.LST is also optimized for spee"}d, mainly by putting the inner loop "up front", where BASIC doesn't have to search very far for statement numbers, and by kee"}ping the loop short, especially on the most frequently used path. To give you an idea of just HOW fast this program is, a fa"}irly knowledgeable programmer coded uudecode up in C in an effort to get better performance and then noted afterward that Ver"}. 1.2a in BASIC and assembly language ran approximately FIVE TIMES as fast as his C version! I think you will find Ver. 1.2a"} highly satisfactory with regard to execution speed. ly FIVE TIMES as fast as his C version! I think you will find Ver. 1.2a 5?